package com.malty.mall.service.pms;

import com.baomidou.mybatisplus.extension.service.IService;
import com.malty.mall.domain.dto.req.UpdateStatusReq;
import com.malty.mall.domain.dto.req.pms.PmsProductCateParam;
import com.malty.mall.domain.entity.pms.PmsProductCategory;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author malty
 */
public interface IPmsProductCategoryService extends IService<PmsProductCategory> {
    /**
     * @param cateParam 分类信息
     * @return
     */
    Boolean create(PmsProductCateParam cateParam);

    /**
     * @param cateParam 分类信息
     * @return
     */
    Boolean updateCategoryById(PmsProductCateParam cateParam);

    /**
     * @param statusReq 分类信息
     * @return
     */
    Boolean updateShowStatus(UpdateStatusReq statusReq);

    /**
     * @param statusReq 分类信息
     * @return
     */
    Boolean updateNavStatus(UpdateStatusReq statusReq);

    /**
     * @param id 分类信息
     * @return
     */
    PmsProductCateParam queryCateById(Integer id);

    /**
     * @param id 分类信息
     * @return
     */
    List<PmsProductCateParam> listById(Integer id);

    /**
     * @param id 分类信息
     * @return
     */
    Boolean deleteById(Long id);

    /**
     * @return
     */
    List<PmsProductCateParam> listAll();
}
